In recent years, technology has been developed for protecting software applications (hereinafter simply applications) that have confidential data from being analyzed by malicious third-parties (hereinafter termed attackers) with software.
Technology for protecting applications with software includes verifying the presence of tampering by using hash values, as well as saving applications in encrypted form when not in use and decrypting applications loaded in memory only when in use via a decryption loading function and the like.
However, despite the use of such technology, the software that protects the applications (hereinafter termed protection control module) may itself be tampered with by attackers. Should the protection control module be tampered with, then the applications will, in turn, be attacked. Thus, detection modules are used to perform tamper detection on the protection control module and detect tampering therewith.
Such detection modules read all of the protection control module data and detect tampering therewith by calculating a MAC (Message Authentication Code) value.